/**
 * 生成水印背景图片的 Base64 URL
 * @param {Object} props - 配置参数
 * @param {String} props.text - 水印文字内容
 * @param {Number} props.fontSize - 文字大小
 * @param {Number} props.gap - 文字间距
 * @returns {String} Base64 格式的水印图片 URL
 */
export function userWatermarkBg(props) {
  const { text, fontSize, gap } = props;

  // 创建 canvas 元素
  const canvas = document.createElement("canvas");
  const ctx = canvas.getContext("2d");

  // 设置 canvas 尺寸（根据文字大小和间距计算）
  const canvasSize = fontSize * 4 + gap * 2;
  canvas.width = canvasSize;
  canvas.height = canvasSize;

  // 设置文字样式
  ctx.font = `${fontSize}px Arial, sans-serif`;
  ctx.fillStyle = "rgba(0, 0, 0, 0.1)"; // 浅灰色，透明度 10%
  ctx.textAlign = "center";
  ctx.textBaseline = "middle";

  // 清除画布
  ctx.clearRect(0, 0, canvas.width, canvas.height);

  // 绘制第一个文字（中心位置）
  // ctx.fillText(text, canvas.width / 2, canvas.height / 2);

  // 绘制第二个文字（旋转45度）
  ctx.save();
  ctx.translate(canvas.width / 2, canvas.height / 2);
  ctx.rotate(Math.PI / 4); // 45度
  ctx.fillText(text, 0, 0);
  ctx.restore();

  // 转换为 Base64
  return canvas.toDataURL("image/png");
}

// 可选：提供一个默认配置的版本
export function useDefaultWatermarkBg() {
  const defaultProps = {
    text: "watermark",
    fontSize: 40,
    gap: 20,
  };
  return userWatermarkBg(defaultProps);
}
